<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>JJSched Command Help</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>

    <body>
        <h1>JJSched Command Help</h1>
        <div id="header">
            <a href="index.html">&lt;&lt; Back to index</a>
            <hr />
        </div>        <h2>Understanding command synopsis</h2>
            <p>If an argument is enclosed in slash-brackets: <i>/username/</i>, then that argument does not consist of
            exactly the keyword (in this case "username"), but should be substituted for something meaningful
            (for example "user@server.com")</p>
            <p>If an argument or more arguments are enclosed in square brackets: <i>[option]</i>, it is optional and
            can be ommited</p>
            <p>Sets of keywords that can be chosen from are described by putting these keywords in curly brackets and
            separating them by vertical bars like this: <i>{keyword1|keyword2|keyword3}</i></p>
        <hr />
        <h2 id="commandlist">Command list:</h2>
        <ul>
            <li><a href="#admin">admin</a></li>
            <li><a href="#echo">echo</a></li>
            <li><a href="#group">group</a></li>
            <li><a href="#help">help</a></li>
            <li><a href="#list">list</a></li>
            <li><a href="#offset">offset</a></li>
            <li><a href="#plan">plan</a></li>
            <li><a href="#register">register</a></li>
            <li><a href="#setoffset">setoffset</a></li>
            <li><a href="#subscribe">subscribe</a></li>
            <li><a href="#time">time</a></li>
            <li><a href="#unregister">unregister</a></li>
            <li><a href="#unsubscribe">unsubscribe</a></li>
            <li><a href="#quit">quit</a></li>
        </ul>
        <h2 id="topiclist">Other help topics:</h2>
        <ul>
            <li><a href="#groupspec">groupspec</a></li>
            <li><a href="#timespec">timespec</a></li>
            <li><a href="#tutorial">tutorial</a></li>
            <li><a href="#tutorial2">tutorial2</a></li>
            <li><a href="#tutorial3">tutorial3</a></li>
            <li><a href="#tutorial4">tutorial4</a></li>
        </ul>
        <hr />
        <p id="admin">
            <a href="#commandlist">Up</a>            <h3>admin</h3>
            <p>Modifies administrator privileges</p>
            <h4>Synopsis:</h4>
            <i>admin /user/ /privileges/</i>
            <h4>Description:</h4>
            <p>Set the administrator privileges for the given user.<br />
            User should be specified by the jabber ID.<br />
            Privileges is an ORed number of following options: 1-admins, 2-users, 4-groups, 8-global settings</p>
            <h4>Notes:</h4>
            <p>Only admins with privilege to modify admins can use this command</p>
        </p>
        <hr />
        <p id="echo">
            <a href="#commandlist">Up</a>            <h3>echo</h3>
            <p>Echoes back its arguments</p>
            <h4>Synopsis:</h4>
            <i>echo /whatever/</i>
            <h4>Description:</h4>
            <p>Sends back the command that would be executed if only /whatever/ was sent.<br />
            Useful for determining the contents of macros.</p>
            <h4>Notes:</h4>
            <p>e.g.: To see contents of macro 'quickplan', send 'echo quickplan'</p>
        </p>
        <hr />
        <p id="group">
            <a href="#commandlist">Up</a>            <h3>group</h3>
            <p>Manipulates or views the user groups</p>
            <h4>Synopsis:</h4>
            <ol>
                <li><i>group add /name/ /description/</i></li>
                <li><i>group modify /groupspec/ [description /newdescription/] [name /newname/] [selfsubscription {true|false}]</i></li>
                <li><i>group listusers /groupspec/</i></li>
                <li><i>group subscribe /groupspec/ /user/</i></li>
                <li><i>group unsubscribe /groupspec/ /user/</i></li>
                <li><i>group privileges /groupspec/ /user/ /newprivileges/</i></li>
                <li><i>group remove /groupspec/</i></li>
                <li><i>group listevents /groupspec/</i></li>
            </ol>
            <h4>Description:</h4>
            <ol>
                <li>Adds a new group with the specified name and description</li>
                <li>Modifies the group's description, name or the possibility to (un)subscribe for ordinary users</li>
                <li>Lists all users of the specified group</li>
                <li>Allows the global group administrator or the group administrator to subscribe a user to the group</li>
                <li>Is similar to variant (4), only it unsubscribes the users</li>
                <li>Changes the privileges of a given user for the group. The user has to be subscribed to the group.<br />
                Can be a combination of 1 - modify group, 2 - list group users and events, 4 - plan group events</li>
                <li>Deletes the entire group, its users and planned events (be careful!)</li>
                <li>Lists all planned events for this group. (If you have the privileges to do so)</li>
            </ol>
            <h4>Notes:</h4>
            <p>Variants 2-8 need you to specify the group in question somehow.<br />
            For help on this, see groupspec</p>
            <h4>See also:</h4>
            <p><a href="#groupspec">groupspec</a>, <a href="#subscribe">subscribe</a>, <a href="#unsubscribe">unsubscribe</a></p>
        </p>
        <hr />
        <p id="help">
            <a href="#commandlist">Up</a>            <h3>help</h3>
            <p>Provides on-line help</p>
            <h4>Synopsis:</h4>
            <i>help [/topic/]</i>
            <h4>Description:</h4>
            <p>Retrieves either basic help or help on the given topic or command</p>
            <h4>Notes:</h4>
            <p>Notes on help syntax: arguments are denoted by a phrase, describing the argument<br />
            and enclosed in slash-brackets: //. See syntax of help at the top to know what i mean.<br />
            Unmandatory arguments or parameters are enclosed in square brackets: []<br />
            A set of keywords, you have to choose from, is described by putting these keywords in<br />
            curly brackets and separating them by vertical bars like this: {keyword1|keyword2|keyword3}<br />
            If there are more possibilities of invoking the command, each of them is preceded by "N>>"<br />
            where 'N' denotes a number that is used later in the command description to refer to this<br />
            variant of the given command.</p>
            <h4>See also:</h4>
            <p><a href="#tutorial">tutorial</a></p>
        </p>
        <hr />
        <p id="list">
            <a href="#commandlist">Up</a>            <h3>list</h3>
            <p>Lists various entities</p>
            <h4>Synopsis:</h4>
            <i>list {users|admins|groups|macros|events}</i>
            <h4>Description:</h4>
            <p>Prints out a list of various entites<br />
            Entities can be either of users, admins, groups, macros or your planned events.<br />
            For info about listing group planned events, look at the group command.<br />
            Listing group users and admins is also made with group command.</p>
            <h4>See also:</h4>
            <p><a href="#group">group</a></p>
        </p>
        <hr />
        <p id="offset">
            <a href="#commandlist">Up</a>            <h3>offset</h3>
            <p>Prints a user's time offset</p>
            <h4>Synopsis:</h4>
            <i>offset [/user/]</i>
            <h4>Description:</h4>
            <p>Sends back the time offset of the given user.<br />
            If no user is specified or user is 'me', your own offset is sent.<br />
            If you are an admin with the privilege to modify users, you can view other users'<br />
            offsets as well.</p>
            <h4>See also:</h4>
            <p><a href="#setoffset">setoffset</a>, <a href="#time">time</a></p>
        </p>
        <hr />
        <p id="plan">
            <a href="#commandlist">Up</a>            <h3>plan</h3>
            <p>Plans an event</p>
            <h4>Synopsis:</h4>
            <i>plan at /timespec/ [{user|group} /name or groupspec/] [description /message/]</i>
            <h4>Description:</h4>
            <p>Plans an event at the given time for the given user with the given description<br />
            Note that the arguments can come in any order<br />
            Arguments:<br />
            /timespec/ describes the time for the event. The time should be in the sending user time<br />
            and will be converted to server time. See 'help timespec' for more info.<br />
            {user|group} /name or groupspec/ describes the single user or whole group that will be informed when this event occurs.<br />
            If not specified, this argument equals to the sending user. See "groupspec" for more info on specifying groups.<br />
            /message/ serves as a message that will be shown when the event occurs. Don't forget to enclose<br />
            the message in double quotes: "message" if it contains spaces or line breaks.</p>
            <h4>See also:</h4>
            <p><a href="#timespec">timespec</a>, <a href="#groupspec">groupspec</a></p>
        </p>
        <hr />
        <p id="register">
            <a href="#commandlist">Up</a>            <h3>register</h3>
            <p>Registers users on this server</p>
            <h4>Synopsis:</h4>
            <i>register /user/</i>
            <h4>Description:</h4>
            <p>Registers a user to the server, so that the user can start using JJSCHED.<br />
            /user/ can be either 'me' or a Jabber ID, such as user@jabber.net<br />
            The server can forbid users to register themselves.<br />
            Registration of other users than 'me' can only be done by the administrator with given privileges</p>
            <h4>See also:</h4>
            <p><a href="#unregister">unregister</a></p>
        </p>
        <hr />
        <p id="setoffset">
            <a href="#commandlist">Up</a>            <h3>setoffset</h3>
            <p>Sets a user's time offset</p>
            <h4>Synopsis:</h4>
            <i>setoffset /user/ /timediff/</i>
            <h4>Description:</h4>
            <p>Sets the time offset of local time of the user.<br />
            timediff is the same as TIMEDIFF in timespec (type 'help timespec' for more info)</p>
            <h4>See also:</h4>
            <p><a href="#offset">offset</a>, <a href="#time">time</a>, <a href="#timespec">timespec</a></p>
        </p>
        <hr />
        <p id="subscribe">
            <a href="#commandlist">Up</a>            <h3>subscribe</h3>
            <p>Subscribes you to a group</p>
            <h4>Synopsis:</h4>
            <i>subscribe /groupname/</i>
            <h4>Description:</h4>
            <p>Subscribes you to the group with name /groupname/<br />
            Unlike the "group subscribe" command, this command allows you to subscribe only yourself.<br />
            If the group doesn't allow self-subscription, you will have to write to the admin of the group.</p>
            <h4>See also:</h4>
            <p><a href="#unsubscribe">unsubscribe</a>, <a href="#group">group</a></p>
        </p>
        <hr />
        <p id="time">
            <a href="#commandlist">Up</a>            <h3>time</h3>
            <p>Prints the current time</p>
            <h4>Synopsis:</h4>
            <i>time [/user/]</i>
            <h4>Description:</h4>
            <p>Sends back the actual server time or a given user's time.<br />
            If you send this command without the parameters, it returns the server time.<br />
            Or you can type 'time me' to see your time, as the server sees it, according to your offset.<br />
            Or, if you're an admin with the right to modify users, you can see local time of any registered user.</p>
            <h4>See also:</h4>
            <p><a href="#offset">offset</a>, <a href="#setoffset">setoffset</a></p>
        </p>
        <hr />
        <p id="unregister">
            <a href="#commandlist">Up</a>            <h3>unregister</h3>
            <p>Unregisters users from this server</p>
            <h4>Synopsis:</h4>
            <i>unregister /user/</i>
            <h4>Description:</h4>
            <p>Unregisters a user from the server, deleting all his data (macros and events)<br />
            /user/ can be either 'me' or a Jabber ID, such as user@jabber.net<br />
            Any user can do 'unregister me', so be careful!<br />
            Unregistration of other users than 'me' can only be done by the administrator with<br />
            the privilege to modify users</p>
            <h4>See also:</h4>
            <p><a href="#register">register</a></p>
        </p>
        <hr />
        <p id="unsubscribe">
            <a href="#commandlist">Up</a>            <h3>unsubscribe</h3>
            <p>Unsubscribes you from a group</p>
            <h4>Synopsis:</h4>
            <i>unsubscribe /groupname/</i>
            <h4>Description:</h4>
            <p>Unubscribes you from the group with name /groupname/<br />
            Unlike the "group unsubscribe" command, this command allows you to unsubscribe only yourself.</p>
            <h4>See also:</h4>
            <p><a href="#subscribe">subscribe</a>, <a href="#group">group</a></p>
        </p>
        <hr />
        <p id="quit">
            <a href="#commandlist">Up</a>            <h3>quit</h3>
            <p>Quits the application when in console</p>
            <h4>Synopsis:</h4>
            <i>quit</i>
            <h4>Description:</h4>
            <p>Quits JJSched</p>
            <h4>Notes:</h4>
            <p>This command only works from console</p>
        </p>
        <hr />
        <p id="groupspec">
            <a href="#topiclist">Up</a>            <h3>groupspec</h3>
            <p>Groupspec specifies the group in the "group" and other commands.<br />
            It can have one of two forms:<br />
            1>> /groupname/<br />
            2>> number /groupnumber/<br />
            The first one lets you specify the group by writing its name whereas the second one<br />
            allows you to specify the group by its ID number.<br />
            This also implies that you cannot have a group named "number", but who cares :)</p>
            <h4>Notes:</h4>
            <p>Don't forget to write /groupname/ as one token. More specifically,<br />
            if the name consists of more words, you have to put in into parentheses:<br />
            "Example of a group name"</p>
            <h4>See also:</h4>
            <p><a href="#group">group</a></p>
        </p>
        <hr />
        <p id="timespec">
            <a href="#topiclist">Up</a>            <h3>timespec</h3>
            <p>Timespec is a time specifier that is used in various commands.<br />
            In terms of formal grammars, it is defined as follows:<br />
            TIMESPEC = ORIGIN [+ TIMEDIFF] [- TIMEDIFF]<br />
            ORIGIN = {now|tomorrow|next week|TIME}<br />
            TIME = Time is described by a string that has this format: [dd.MM[.yyyy]/]HH:mm[:ss]<br />
            if you don't use the date part of TIME, the current day will be used<br />
            TIMEDIFF = /number/ {seconds|minutes|hours|days|weeks} [TIMEDIFF]</p>
            <h4>Notes:</h4>
            <p>Examples:<br />
            now<br />
            "tomorrow + 1 hours 30 minutes"<br />
            24.12/19:30:00<br />
            24.12.2008/19:30<br />
            18:00<br />
            Don't forget to enclose the time specifier in double quotes so that it parses as one token</p>
            <h4>See also:</h4>
            <p><a href="#plan">plan</a></p>
        </p>
        <hr />
        <p id="tutorial">
            <a href="#topiclist">Up</a>            <h3>tutorial</h3>
            <p>Welcome to JJSched tutorial<br />
            JJSched (pronounce "jay-jay-sched") means Java-Jabber-Scheduler<br />
            This short tutorial should teach you how to use JJSched<br />
            You will learn the basic commands that you need to use JJSched<br />
            If you feel curious about any command, type 'help command' to get more information on that command<br />
            Typing 'help commands' will print list of all the available commands<br />
            To read the next page of this tutorial, type 'help tutorial2'</p>
            <h4>See also:</h4>
            <p><a href="#tutorial2">tutorial2</a></p>
        </p>
        <hr />
        <p id="tutorial2">
            <a href="#topiclist">Up</a>            <h3>tutorial2</h3>
            <p>So you are now registered to JJSched and would like to know how you can start using it, right?<br />
            First, you need to check, whether the server has correct information about your time zone.<br />
            To see the time that the server thinks is your current local time, type 'time me'<br />
            The server will respond to you with some time value. If this value is your local time, then you<br />
            are ready to start using JJSched and can go on to page 3. However, if this time differs from your<br />
            local time, you need to adjust your time offset. Let's suppose that your local time should be<br />
            14.05.1968/12:20:00, but the server responds with 14.05.1968/13:20:00. This means that your local<br />
            time should be one hour less. The solution is simple. You just type 'setoffset me "- 1 hours"'.<br />
            You can also specify minutes or even seconds: 'setoffset me "1 hours 30 minutes 45 seconds"'<br />
            The double quotes around the time expression are important, so don't forget them.<br />
            To read the next page of this tutorial, type 'help tutorial3'</p>
            <h4>See also:</h4>
            <p><a href="#tutorial3">tutorial3</a></p>
        </p>
        <hr />
        <p id="tutorial3">
            <a href="#topiclist">Up</a>            <h3>tutorial3</h3>
            <p>JJSched tutorial / page 3<br />
            Now that your time offset is correct, you can try planning events in JJSched for yourself and<br />
            JJSched will inform you about the planned event when the time comes.<br />
            To try this out, type 'plan at "now + 10 seconds"'. Wait for ten seconds and then you will<br />
            receive a message from JJSched, informing you that 'You have a plan for now without a description!'<br />
            This message is a default message, since you didn't provide any other message. If you want JJSched<br />
            to tell you for instance that 'You need to have a break!', you can do this by typing<br />
            'plan at "now + 20 minutes" description "You need to have a break!"' and JJSched will remind<br />
            you of your planned break in 20 minutes.<br />
            To read the next page of this tutorial, type 'help tutorial4'</p>
            <h4>See also:</h4>
            <p><a href="#tutorial4">tutorial4</a></p>
        </p>
        <hr />
        <p id="tutorial4">
            <a href="#topiclist">Up</a>            <h3>tutorial4</h3>
            <p>JJSched tutorial / page 4<br />
            Now you know most of the important stuff. Another useful thing is subscribing to user groups<br />
            If you know about a user group existing on the JJSched server and you know its name (for instance<br />
            "The ultimate group"), you can subscribe to this group by typing 'subscribe "The ultimate group"'<br />
            From now on, you will receive all planned events from this group until you type<br />
            'unsubscribe "The ultimate group"'<br />
            This is the end of this short introduction to JJSched. To learn more, study the help. (type 'help')</p>
            <h4>See also:</h4>
            <p><a href="#help">help</a></p>
        </p>
    <div id="footer">
        <hr />
        <div class="left">JJSched made by <a href="mailto:czestmyr <email hosted at> gmail.com">CZestmyr</a></div>
        <div class="right">Last updated 09.03.2010-13:31</div>
        <a href="http://validator.w3.org/check?uri=referer"><img
           src="http://www.w3.org/Icons/valid-xhtml10"
           alt="Valid XHTML 1.0 Strict" height="31" /></a>
    </div>
    </body>
</html>
